vue 快速配置路由动画和缓存 您所在的位置:网站首页 vue 二级路由不缓存 vue 快速配置路由动画和缓存

vue 快速配置路由动画和缓存

2024-05-24 00:05| 来源: 网络整理| 查看: 265

vue 快速配置路由动画和缓存 前言

在使用 vue 路由动画和缓存时,遇到了一些问题,比如:

正确产生动画; 有条件产生动画,比如 A 页面到 B 页面使用动画,A 到其他页面不使用动画; 有条件缓存,管理缓存 动画和缓存的同时使用

在这里把自己能想到的做一个总结。

以下的内容已经写成了一个插件,方便快速配置,并增加了判断前进后退的方法,github 地址:

vue-router-cache-animate

路由动画 如何动画

当路由切换时,动画的实质是在router-view渲染的节点(curNode)后面添加个下一个路由的节点(nextNode)。

curNode 执行离开动画,nextNode 执行进入动画。由于 curNode 和 nextNode 是兄弟节点,如果要实现右进左出的话,需要添加absolute定位。

/* 进入动画 */ .slide-enter { opacity: 0; transform: translate(100%, 0); } .slide-enter-active, .slide-leave-active { transition: transform 0.2s ease; position: absolute; } /*离开动画*/ .slide-leave-to { transform: translate(-100%, 0); } #app { overflow-x: hidden; overflow-y: auto; }

元素右超出视窗会使页面出现横向滚动条,所以需要为父元素添加 overflow:hidden。

当然也可以使用 fixed 定位,不会出现滚动条。

动态过渡

根据路由信息动态设置动画效果,比如从a路由到b路由使用左滑效果,从b路由返回a路由使用右滑效果。

export default { watch: { $route(to, from) { const toName = to.name const fromName = from.name if (fromName === 'a' && toName === 'b') { this.transitionName = 'slide-left' } else if


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有